Three-dimensional (3-D) models of objects can provide information useful for a variety of applications such as generating computer aided design models from physical objects, planning and visualizing architectural structures, and planning and visualizing interior and exterior design features. The creation of a 3-D model of either an object, a structure, or a scene, however, can require the involvement of highly skilled professionals with extensive artistic knowledge, expensive modeling equipment and time intensive efforts.
Various approaches to simplifying the generation a 3-D model of an object or scene have evolved. One common approach incorporates a triangulation system. A triangulation system projects beams of light onto an object, typically using a LASER. The emitted light is then reflected off the object at an angle relative to the light source and an imaging component which is spaced apart from the light source collects the reflection information. Based upon an association of the emitted beam and the reflected beam, the system then determines the coordinates of the point or points of reflection by triangulation. A single dot system projects a single beam of light which, when reflected, produces a single dot of reflection. A scanning line system sends a plane of light against the object, the plane of light is reflected as a curvilinear-shaped set of points describing one contour line of the object. The location of each point in that curvilinear set of points can be determined by triangulation.
Another commonly used 3D modeling approach is a stereoscopic system employing one or more imaging systems located at known locations or distances from each other to take multiple images of a 3D object. The captured images are processed with a pattern recognition system that relates the various points of the object in the multiple images and triangulates to extract depth information of these points, thereby obtaining the shape/contour information of the 3D object.
The systems described above are costly, bulky, and may require substantial knowledge to operate. Accordingly, while providing sufficient data to produce an accurate 3-D model, the usefulness of the systems is limited. Various coding schemes have been developed to allow a fewer number of images to be used in generating sufficient data for generating a 3D model. One such coding scheme uses binary codes like the Gray code to produce only one-to-one correspondences between projector and camera coordinates. This approach is costly (in the sense of projection quality and measuring time) since high resolution patterns are needed to achieve desired spatial resolution.
Another coding scheme incorporates one dimensional discrete Fourier transforms (DFT). One-dimensional DFT phase demodulation requires the projected ID fringes to be aligned with the camera. Accordingly, the depth range of the system is limited and susceptible to errors when incorporated into a non-fixed system. Two-dimensional DFT phase demodulation systems similarly suffer from high depth ranges. In principle, the direction of the spectral components needed to retrieve the desired phase information in a two-dimensional DFT phase demodulation system can be determined. The automated design of a suited frequency filter is, however, complicated and rather slow.
Another class of coding techniques are Moiré techniques which are based on the interference of two patterns. Moiré techniques require high carrier frequencies and are therefore sensitive to focal blur. This interference can be generated optically or within a computing system. Optical interference can be mitigated by incorporation of an alignment procedure using a reference grid or, if using the discrete structure of the camera sensor itself, by incorporating a costly system calibration. Computing system interference is mitigated using a signal analysis that is similar to DFT phase demodulation, and which suffers the same shortcomings as the DFT phase demodulation schemes.
What is needed is a system that can be used to generate data required to create a 3-D model of an object or scene. A system which is portable and capable of obtaining the required data using an easily implemented coding scheme would be beneficial.